
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <title>Accelerating solutions of one-dimensional unsteady PDEs with GPU-based swept time–space decomposition</title>
    
    <meta name="author" content="Kyle E. Niemeyer">

    <!-- Enable responsive viewport -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>

    <!-- Bootstrap styles -->
    <link href="/assets/themes/lab/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
    
    <!-- Sticky Footer -->
    <link href="/assets/themes/lab/bootstrap/css/bs-sticky-footer.css" rel="stylesheet"/>

    <!-- Custom styles -->
    <link href="/assets/themes/lab/css/style.css?body=1" rel="stylesheet" type="text/css" media="all"/>

    <!-- icon -->
    <link rel="apple-touch-icon" sizes="180x180" href="/assets/themes/lab/images/logo/apple-touch-icon.png">
    <link rel="icon" type="image/png" href="/assets/themes/lab/images/logo/favicon-32x32.png" sizes="32x32">
    <link rel="icon" type="image/png" href="/assets/themes/lab/images/logo/favicon-16x16.png" sizes="16x16">
    <link rel="manifest" href="/assets/themes/lab/images/logo/manifest.json">
    <link rel="mask-icon" href="/assets/themes/lab/images/logo/safari-pinned-tab.svg" color="#5bbad5">
    <link rel="shortcut icon" href="/assets/themes/lab/images/logo/favicon.ico">
    <meta name="msapplication-config" content="/assets/themes/lab/images/logo/browserconfig.xml">
    <meta name="theme-color" content="#ffffff">

    <!-- Custom fonts and icons via Font Awesome, http://fortawesome.github.io/Font-Awesome/ -->
    <!--<script src="https://use.fontawesome.com/51d391e302.js"></script> -->
    <script defer src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"></script>

    <!-- Academicons: https://jpswalsh.github.io/academicons/ -->
    <link rel="stylesheet" href="/assets/css/academicons.min.css"/>

    <link rel="stylesheet" href="/assets/css/icon-list-group.css"/>

    <!-- Fonts via Google -->
    <link href='https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700' rel='stylesheet' type='text/css'/>

    <!-- Math via MathJax -->
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>


    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
    <![endif]-->

    <!-- atom & rss feed
    <link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
    <link href="/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
    -->

  </head>

  <body>

  <!-- Static top navbar -->

  <nav class="navbar sticky-top navbar-expand-lg navbar-light bg-light">
    <div class="container">
      <!-- Brand and toggle get grouped for better mobile display -->
      <a class="navbar-brand" href="/">
        <img class="navbar-left logo" src="/assets/themes/lab/images/logo/lab-logo.svg" type="image/svg+xml">
      </a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

      <!-- Collect the nav links, forms, and other content for toggling -->
      <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
        <ul class="navbar-nav"> 

          
          

          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          	
            
              
              <li class="nav-item">
                <a class="nav-link" href="/research/">Research</a>
              </li>
              
            
          
          
          
          
          	
            
              
              <li class="nav-item">
                <a class="nav-link" href="/team/">Team</a>
              </li>
              
            
          
          
          
          
          	
            
              
              <li class="nav-item">
                <a class="nav-link" href="/papers/">Papers</a>
              </li>
              
            
          
          
          	
            
              
              <li class="nav-item">
                <a class="nav-link" href="/software/">Software</a>
              </li>
              
            
          
          
          
          

          
          
          
          <li class="nav-item">
            <a class="nav-link" href="https://medium.com/nrg-excitations" target="_blank">Blog</a>
          </li>

          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
              Docs
            </a>
            <div class="dropdown-menu" aria-labelledby="navbarDropdown">
              
                <a class="dropdown-item" href="/docs">Docs</a>
              
              <div class="dropdown-divider"></div>
              
              
              
              


  
    
      
    
  
    
      
    
  
    
      
    
  
    
      
    
  
    
      
    
  
    
      
    
  
    
      
    
  
    
      
    
  
    
      
    
  
    
      
    
  
    
  
    
  
    
      
    
  
    
  
    
      	
      	
				  
				  <a class="dropdown-item" href="/docs/mission">Mission</a>
				  
				
      
    
  
    
      
    
  
    
      	
      	
				  
				  <a class="dropdown-item" href="/docs/code-of-conduct">Code of Conduct</a>
				  
				
      
    
  
    
      
    
  
    
      	
      	
				  
				  <a class="dropdown-item" href="/docs/expectations">Expectations</a>
				  
				
      
    
  
    
      
    
  
    
      
    
  
    
      
    
  



            </div>
          </li>
        </ul>
      </div>
    </div>
  </nav>

  <!-- Content -->
  <div class="container">
    
<!--
Branched from Trevor Bedford's source, https://github.com/blab/blotter/blob/master/_layouts/paper.html
with gratitude.
-->

<div class="bigspacer"></div>

<div class="row">
	<div class="col-md-3">
		<div class="media">
			
			<img class="pull-left pad-right media-object paper-image" src="/assets/images/papers/GPU-swept-rule-1D.png">
			
		</div>
	</div>

	<div class="col-md-9">
		<div class="media-body titlebox">
			<div class="title media-heading">
				Accelerating solutions of one-dimensional unsteady PDEs with GPU-based swept time–space decomposition
			</div>
			<p>
			<div class="smallhead">
				Magee DJ, Niemeyer KE.
				<span class="journal">
				Journal of Computational Physics
				</span>
				
				357
				
				
				
				:338–352
				
				(2018).
			</div>
		</div>
	</div>
</div>

<div class="bigspacer"></div>

<div class="row">
    <div class="col-md-4">
        <div class="bigspacer"></div>
        <div class="glyphbox note"> <!-- DAD: what is this class? -->
            <div class="smallhead subtle">
                Full text
            </div>

            <div class="pad-left note">
                <div class="smallspacer"></div>
                
                <i class="ai ai-doi fa-fw"></i>
                
                <a class="off" href="https://doi.org/10.1016/j.jcp.2017.12.028">10.1016/j.jcp.2017.12.028</a>
                <br/>
                
                <i class="ai ai-arxiv fa-fw"></i>
                <a class="off" href="https://arxiv.org/abs/1705.03162"><code>arXiv:1705.03162 [physics.comp-ph]</code></a>
                
            </div>
            <div class="bigspacer"></div>

			

			

			
			<div class="smallhead subtle">
				Source code
			</div>
			<div class="pad-left note">
				<div class="smallspacer"></div>
				<i class="fas fa-cog fa-fw"></i>
				<a class="off" href="https://github.com/Niemeyer-Research-Group/1DSweptCUDA">github.com/Niemeyer-Research-Group/1DSweptCUDA</a>
			</div>
			<div class="bigspacer"></div>
			
			
			<div class="smallhead subtle">
				Data
			</div>
			<div class="pad-left note">
				<div class="smallspacer"></div>
				<i class="fas fa-database fa-fw"></i>
                
                
                <a class="off" href="https://doi.org/10.6084/m9.figshare.4968050.v4">Figshare</a>
                
                
                <a class="off" href="https://doi.org/10.5281/zenodo.570984">Zenodo</a>
                
			</div>
			<div class="bigspacer"></div>
			
			
			<div class="smallhead subtle">
				Altmetrics
			</div>
			<script type="text/javascript" src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>
            
            <div class="altmetric-embed" data-badge-popover="right" data-doi=10.1016/j.jcp.2017.12.028 data-badge-type="donut" data-hide-no-mentions="true">
            
			</div>
			<div class="bigspacer"></div>
			
			<div class="smallhead subtle">
				Share
			</div>
		    <!-- Paste the 3 next lines where you want the sharing button(s) to appear -->
		    <div class="post-sharing">
		     

  
  		<!-- Twitter -->
<i class="fab fa-twitter fa-fw"></i>
<a class="off" href="https://twitter.com/share?url=&text=" data-text="Accelerating solutions of one-dimensional unsteady PDEs with GPU-based swept time–space decomposition" data-via="" data-related="kyleniemeyer" target="_blank">tweet</a>

	


            </div>

		</div>
	</div>
	
	<div class="col-md-8">
		<div class="post">
			
<h1 id="abstract">Abstract</h1>

<p>The expedient design of precision components in aerospace and other high-tech industries requires simulations of physical phenomena often described by partial differential equations (PDEs) without exact solutions. Modern design problems require simulations with a level of resolution difficult to achieve in reasonable amounts of time—even in effectively parallelized solvers. Though the scale of the problem relative to available computing power is the greatest impediment to accelerating these applications, significant performance gains can be achieved through careful attention to the details of memory communication and access. The swept time–space decomposition rule reduces communication between sub-domains by exhausting the domain of influence before communicating boundary values. Here we present a GPU implementation of the swept rule, which modifies the algorithm for improved performance on this processing architecture by prioritizing use of private (shared) memory, avoiding interblock communication, and overwriting unnecessary values. It shows significant improvement in the execution time of finite-difference solvers for one-dimensional unsteady PDEs, producing speedups of 2–9x for a range of problem sizes, respectively, compared with simple GPU versions and 7–300x compared with parallel CPU versions. However, for a more sophisticated one-dimensional system of equations discretized with a second-order finite-volume scheme, the swept rule performs 1.2–1.9x worse than a standard implementation for all problem sizes.</p>

		</div>
        <div class="post">
            <h1 id="bibte">BibTeX</h1>
            <pre> @article{Magee2018,
  doi = {10.1016/j.jcp.2017.12.028},
  year  = 2018,
  month = mar,
  volume = {357},
  pages = {338--352},
  author = {Daniel J Magee and Kyle E. Niemeyer},
  title = {Accelerating solutions of one-dimensional unsteady PDEs with GPU-based swept time–space decomposition},
  journal = {Journal of Computational Physics}
}
 </pre>
        </div
	</div>
	

	<div class="col-md-1"></div>
</div>

<div class="bigspacer"></div>


  </div>


  <!-- Static bottom navbar -->
  <nav class="navbar navbar-expand-lg navbar-light bg-light fixed-bottom">
      <div class="container">
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#jb-bottom-collapse" aria-controls="jb-bottom-collapse" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
      
      <!-- Collect the nav links, forms, and other content for toggling -->
      <div class="collapse navbar-collapse" id="jb-bottom-collapse">
        <ul class="navbar-nav mr-auto navbar-small"> 
          <li class="nav-item"><a href=http://mime.oregonstate.edu/>School of Mechanical, Industrial, and Manufacturing Engineering</a></li>
          <li class="nav-item"><a href=https://oregonstate.edu/>Oregon State University</a></li>
        </ul>
        
        <ul class="navbar-nav navbar-small">
          <li class="nav-item"><a href='/about.html#purpose'>About</a></li>
          <li class="nav-item"><a href='/about.html#join'>Join</a></li>
          <li class="nav-item"><a href='/about.html#contact'>Contact</a></li>
        </ul>
      </div><!-- /.navbar-collapse -->
      </div>
  </nav>



    



    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
    <script src="/assets/themes/lab/bootstrap/js/bootstrap.min.js"></script>

  </body>
</html>

